﻿using System;

namespace WolfGame {

  /// <summary>
  /// This class contains references to all other classes and holds common information.
  /// </summary>
  class Common {

    #region Constants

    private const string MAP_PATH = "{0}\\Resources\\Maps\\{1}";
    private const string TEXTURE_PATH = "{0}\\Resources\\Textures\\{1}";
    private const string ENTITY_PATH = "{0}\\Resources\\Entities\\{1}";

    #endregion

    #region Constructor

    /// <summary>
    /// Instantiate the class
    /// </summary>
    public Common() {
      Gravity = 1f;
    }

    #endregion

    #region Properties

    public m_Config Configuration { get; set; }
    public v_Renderer Render { get; set; }
    public v_Camera Camera { get; set; }
    public c_Keyboard Keyboard { get; set; }
    public m_MapLoader Map { get; set; }
    public v_Textures Textures { get; set; }
    public m_GameEvents GameEvents { get; set; }
    public e_Player Player { get; set; }
    public p_Collisions Collider { get; set; }
    public string MapPath { get { return MAP_PATH; } }
    public string TexturePath { get { return TEXTURE_PATH; } }
    public string EntityPath { get { return ENTITY_PATH; } }
    public float Gravity { get; set; }

    #endregion
  }
}
